/**
 * 格式化对象数组中的数字值
 * @param {Array} array - 要处理的对象数组
 * @param {Array} keys - 需要格式化的键名数组（可选，默认处理所有数字类型的值）
 * @param {number} decimals - 保留的小数位数（可选，默认为2）
 * @returns {Array} 格式化后的数组
 */
function formatNumberArray(array, keys = [], decimals = 2) {
    return array.map(item => {
        const newItem = { ...item };
        Object.keys(newItem).forEach(key => {
            if (keys.length === 0 || keys.includes(key)) {
                const value = newItem[key];
                // Check if the value is a number or a string that can be converted to a number
                if (typeof value === 'number' || (typeof value === 'string' && !isNaN(value))) {
                    newItem[key] = Number(Number(value).toFixed(decimals));
                }
            }
        });
        return newItem;
    });
}

export{formatNumberArray}